Skip to content

태그: Vector Search

총 4개의 글이 있습니다.
Approximate Nearest Neighbor
vector search
Approximate Nearest Neighbor(ANN)는 고차원 벡터 공간에서 정확한 최근접 이웃 대신 근사적으로 가까운 이웃을 찾는 탐색 방식이다. ‘왜 근사가 필요한지’를 이해하려면 저차원에서 정확한 탐색이 어떻게 동작하는지부터 봐야 한다. 2차원 평면에서 가장 가까운 두 점을 찾는 문제는 O(n log n)에 풀 수 있다. x좌표 기준으로 정렬한 뒤 스위핑하면서, 현재 최소 거리 d 이내의 strip에 있는 점만 비교하는 식이다. 분할정복 방식도 같은 원리로, strip 안에서 비교할 점이 상수 개(최대 6~7개)로 제한되기 때문에 효율적이다. 이걸 일반 k차원으로 확장한 것이 KD-tree다. 축을 번갈아가며 공간을 이진 분할하고, 탐색 시 분할면 반대쪽을 가지치기해서 2~3차원에서는 O(log
Distance Metrics
vector search
벡터 검색에서 사용하는 거리 메트릭은 사용 중인 모델에 맞는 것을 선택해야 한다. Cosine Similarity 코사인 유사도는 다차원 공간에서 두 벡터 사이의 각도를 측정하는 방법이다. 유사한 벡터는 비슷한 방향을 가리킨다는 아이디어에 기반한다. 자연어 처리(NLP)에서 많이 사용되며, 벡터의 크기와 관계없이 문서 간의 유사성을 측정한다. Dot Product 내적은 두 개 이상의 벡터를 곱하는 연산이다. 출력이 단일 스칼라 값이므로 스칼라 곱이라고도 한다. 내적은 두 벡터의 정렬 상태를 나타낸다. 벡터가 서로 다른 방향을 향하면 음수, 같은 방향을 향하면 양수가 된다. Squared Euclidean (L2-Squared) L2 노름은 벡터 값의 제곱의 합에 대한 제곱근을 취한 것이다. Manhatta
Vector Search
vector search
벡터 검색은 데이터의 의미를 기반으로 결과를 반환하는 검색 방법이다. 텍스트 일치를 찾는 기존 전체 텍스트 검색과 달리 벡터 검색은 다차원 공간에서 검색 쿼리에 가까운 벡터를 찾는다. 벡터가 쿼리에 가까울수록 의미가 더 유사하다. 벡터 검색을 통해 검색어와 데이터의 의미를 해석함으로써 검색자의 의도와 검색 컨텍스트를 고려하여 보다 관련성이 높은 결과를 검색할 수 있다. 벡터는 데이터를 여러 차원으로 나타내는 숫자 배열이다. 벡터는 텍스트, 이미지, 오디오, 구조화되지 않은 데이터까지 모든 종류의 데이터를 나타낼 수 있다. 의미적 유사성은 벡터 사이의 거리를 측정하여 결정된다. 과정 벡터 임베딩: vector embedding 데이터의 의미있는 특징을 벡터로 나타낸다. 유사도 점수 계산: similar